<% network_acls.each do |network_acl| -%>
resource "aws_network_acl" "<%= module_name_of(network_acl) %>" {
    vpc_id     = "<%= network_acl.vpc_id %>"
    subnet_ids = <%= subnet_ids_of(network_acl).inspect %>

<% ingresses_of(network_acl).each do |ingress| -%>
    ingress {
        from_port  = <%= from_port_of(ingress) %>
        to_port    = <%= to_port_of(ingress) %>
        rule_no    = <%= ingress.rule_number %>
        action     = "<%= ingress.rule_action %>"
        protocol   = "<%= ingress.protocol %>"
        cidr_block = "<%= ingress.cidr_block %>"
<%- if ingress.icmp_type_code -%>
        icmp_code  = "<%= ingress.icmp_type_code.code %>"
        icmp_type  = "<%= ingress.icmp_type_code.type %>"
<%- end -%>
    }

<% end -%>
<% egresses_of(network_acl).each do |egress| -%>
    egress {
        from_port  = <%= from_port_of(egress) %>
        to_port    = <%= to_port_of(egress) %>
        rule_no    = <%= egress.rule_number %>
        action     = "<%= egress.rule_action %>"
        protocol   = "<%= egress.protocol %>"
        cidr_block = "<%= egress.cidr_block %>"
<%- if egress.icmp_type_code -%>
        icmp_code  = "<%= egress.icmp_type_code.code %>"
        icmp_type  = "<%= egress.icmp_type_code.type %>"
<%- end -%>
    }

<% end -%>
    tags {
<% network_acl.tags.each do |tag| -%>
        "<%= tag.key %>" = "<%= tag.value %>"
<% end -%>
    }
}

<% end -%>
